/*
 * This file is part of the Gwt-Generator project and was written by Henri Darmet for Objet Direct
 * <http://wwww.objetdirect.com>
 * 
 * Copyright © 2009 Objet Direct
 * 
 * Gwt-Generator is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later version.
 * 
 * Gwt-Generator is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License along with Gwt-Generator. If not, see <http://www.gnu.org/licenses/>.
 */

package com.objetdirect.gwt;

import com.objetdirect.engine.ClassDescriptor;
import com.objetdirect.engine.StandardNameMaker;

public class GwtMainComponent {

	protected GwtMainComponent(String packageName, String className) {
		this.packageName = packageName;
		this.className = className;
	}
	
	String packageName;
	String className;
	
	public ClassDescriptor getControllerClass() {
		if (controllerClass==null) {
			controllerClass = buildControllerClass();
		}
		return controllerClass;
	}
	
	protected ClassDescriptor buildControllerClass() {
		ClassDescriptor clazz = new ClassDescriptor(packageName, new StandardNameMaker(className, "Controller", null));
		clazz.setSuperClass(Tatamix.ControllerImpl);
		return clazz;
	}
	
	ClassDescriptor controllerClass; 
	ClassDescriptor viewClass;
	ClassDescriptor modelClass; 
}
